export com.neasho.neashoadminv1.infrastructure.domain.${packagePrefix}.${upperName}
    -> package com.neasho.neashoadminv1.infrastructure.dto.${packagePrefix}

import jakarta.validation.constraints.Size

// 新增
input ${upperName}AddInput {
<#list fieldsWithoutId as field>
    ${field.fieldName}
</#list>
}

// 更新
input ${upperName}UpdateInput {
    id!
<#list fieldsWithoutId as field>
    ${field.fieldName}
</#list>
}

// 逻辑删除
input ${upperName}LogicDeleteInput {
    id!
}

// 物理删除
input ${upperName}PhyDeleteInput {
    id!
}

// 分页查询
specification ${upperName}PageSpec {
    // 当前页
    pageNumber: Int = 1
    // 每页条数
    pageSize: Int = 10
<#list namesLikeFields as field>
    ${field.fieldName}
</#list>
}
${upperName}PageView {
    #allScalars
}

// 查询列表
specification ${upperName}ListSpec {
    username
<#list namesLikeFields as field>
    ${field.fieldName}
</#list>
}

${upperName}ListView {
    #allScalars
}

// 查询详情
specification ${upperName}DetailSpec {
    id
}
${upperName}DetailView {
    #allScalars
}

// 批量删除
specification ${upperName}BatchDeleteInput {
    @Size(min = 1, max = 100, message = "批量删除的数量应该在1-100之间")
    ids:List<Long>
}
